home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Visual Database / Visual dBase Pro v7.0 / DATA1.CAB / Utilities / Upgrade / RptToRepRsc.cc < prev   
Encoding:
C/C++ Source or Header  |  1997-11-20  |  30.0 KB  |  522 lines

  1. /* ////////////////////////////////////////////////////////////////////
  2.  RptToRepRsc.cc - Text Resource Custom Control for the Visual dBASE 7
  3.    Crystal-to-dBASE Report Conversion Wizard.
  4.  
  5.    ClassName:     Class InternationalText
  6.    Purpose:          Outputs internationalized text strings in appropriate 
  7.                language for version of Visual dBASE 7
  8.  
  9.    Methods:        The main method is SetupStrings(),which sets the text
  10.                property of the controls on the Wizard form using
  11.                the language version appropriate to the installed
  12.                version of Visual dBASE 7.
  13.  
  14.                It also initializes the associative array used for
  15.                the iText method (see following)
  16.  
  17.                Another method is iText(), which returns strings in
  18.                the proper language for error messages and Msgbox()
  19.                prompts and other dynamic prompts.
  20.  
  21.                SetupStrings() is used for static text displays
  22.                XText() is used for dynamic text displays
  23.  
  24.  
  25.    Version:    1.0 10/4/1997  Updated 10-10-97 AAK
  26.  
  27.    Author:    A. A. Katz (Ksoft, Inc.), Johnson City, NY
  28.                   (c) Borland International 1997 All Rights Reserved               
  29. */
  30.  
  31.  
  32. Class InternationalText(oForm) of AssocArray
  33.  
  34. Protect "SetLanguage"
  35.  
  36.     this.oForm = oForm                        // Parent form reference
  37.     this.cLanguage = class::SetLanguage()  // Language Version Indicator
  38.  
  39.  
  40. /////////////////////////////Method SetUpStrings///////////////////////////
  41. /* Enumerates objects on the Report Converter Wizard and sets text
  42.    properties for the appropriate installed language.
  43.    Syntax: Form.SetText()
  44.  
  45.    Should be called after Instantiation of oForm but before Open() or
  46.    ReadModal() methods are called.
  47.    Ex:
  48.          f = New RptToRepForm()
  49.          f.oLang= New InternationalText(f)
  50.          f.oLang.SetUpStrings()
  51. */
  52.  
  53. Function SetUpStrings
  54.  
  55.    if this.cLanguage = 'German'
  56.  
  57.       // Step one: set opening control text values
  58.  
  59.       this.oForm.IntroText.text        =     "<p>Dieser Experte Konvertiert Reports und Etiketten "+;
  60.                                            "von Crystal 3.0 (.rpt,.rpl) zu "+;
  61.                                            "Report-Klassen (.rep, .lab) von Visual dBASE 7.</p>"
  62.       this.oForm.NextButton.text     =    "Weiter"
  63.       this.oForm.BackButton.text     =     "Zurⁿck"
  64.       this.oForm.HelpButton.text     =     "Hilfe"
  65.       this.oForm.CancelButton.text    =     "Abbrechen"
  66.       this.oForm.EnterPathText.text    =    "Geben Sie den Pfad zu den Quelldateien von Crystal an, die "+;
  67.                                         "konvertiert werden sollen"
  68.       this.oForm.TargetPathLabel.text   =       "Geben Sie den Pfad des neuen Visual dBASE 7-Report ein"
  69.       this.oForm.DisclaimerText.text    =    "Einige Anweisungen und Funktionen, die von QBE-Abfragenvon Visual dBASE "+;
  70.                         "unterstⁿtzt werden, k÷nnen nicht diekt in Datenklassen von "+;
  71.                         "Visual dBASE 7 ⁿbertragen werden. Wenn der Experte auf solche Probleme st÷▀t, "+;
  72.                         " zeigt er auf der letzten Seite eine Liste an. Die gleiche Liste steht "+;
  73.                         "ⁿber dem Kopfbereich der generierten .rep- oder "+;
  74.                         ".lab-Datei. Sie sollten dann die generierte Datei an die ursprⁿngliche "+;
  75.                         "QBE-Datei anpassen."
  76.       this.oForm.SourceFileText.text     =     "Quell-Report oder -Etikettendatei von Crystal"
  77.       this.oForm.TargetFileText.text     =     "Ziel-Report oder-Etikettendatei von Visual dBASE 7"
  78.       this.oForm.ReportRadio.text    =    "Report"
  79.       this.oForm.LabelRadio.text    =     "Etiketten"
  80.       this.oForm.SelectTypeText.text    =    "Typ auswΣhlen" 
  81.       this.oForm.ProblemText.text    =    "Der Reportumwandlungs-Experte hat die folgenden "+;
  82.                                                   "Probleme bei der Konvertierung Ihrer Reports bzw. Etiketten fetsgestellt:"
  83.       this.oForm.SourceFileDisplayText.text =    "Quell-Report oder -Etikettendatei von Crystal:"
  84.       this.oForm.TargetFileDisplayText.text =    "Ziel-Report oder-Etikettendatei von Visual dBASE 7:"
  85.       this.oForm.FinishText.text    =    "<p>Zum Konvertieren der Crystal-Dateien klicken Sie bitte auf Fertigstellen...</p>"
  86.       this.oForm.ProgressLabel.text     =    "Fortschritt"
  87.  
  88.          //Step two: Initialize this array for dynamic text
  89.  
  90.       this["PROGRESS"]            =     "Fortschritt"
  91.       this["READINGINCRYSTAL"]        =     "Crystal-Datei lesen..."
  92.       this["STREAMINGVDB"]        =    "dBASE-Report-Objekte in Stream schreiben"
  93.       this["DONE"]            =     "Fertig"
  94.       this["FILEALREADYEXISTS"]        =     '"Datei "+cVar+" existiert bereits. Soll die existierende Datei ⁿberschrieben werden?"'
  95.       this["OVERWRITE"]            =     "▄berschreiben?"
  96.       this["WRONGFILETYPE"]        =     "Falscher Dateityp!"
  97.       this["NOTDBASELABEL"]        =     "Keine .lab-Datei von Visual dBASE!"
  98.       this["FILENOTFOUND"]        =     "Datei nicht gefunden!"
  99.       this["FILEMISSING"]        =     "Datei fehlt!"
  100.       this["NOTACRYSTALREPORT"]        =     "Keine .rpt-Datei von Crystal!"
  101.       this["NOTACRYSTALLABEL"]         =     "Keine .rpl-Datei von Crystal!"
  102.       this["PAGE1TITLE"]        =     "Reportumwandlungs-Experte - Schritt 1 von 4"
  103.       this["PAGE2TITLE"]        =     "Reportumwandlungs-Experte - Schritt 2 von 4"
  104.       this["PAGE3TITLE"]        =     "Reportumwandlungs-Experte - Schritt 3 von 4"
  105.       this["PAGE4TITLE"]        =     "Reportumwandlungs-Experte - Schritt 4 von 4"
  106.       this["NEXT"]            =     "Weiter"
  107.       this["FINISH"]            =     "Fertigstellen"
  108.       this["CLOSE"]            =     "Schlie▀en"
  109.       this["INVALIDINPUT"]        =     "Ungⁿltiges Format der Eingabedatei"
  110.       this["UNSUPPORTEDVERSION"]    =     "Nicht unterstⁿtzte Version der Report-Datei"
  111.       this["ORDAMAGEDFILE"]        =     "Ungⁿltiges Format der Eingabedatei oder Datei ist beschΣdigt."
  112.       this["BADRECORDLENGTH"]        =     "Falsche DatensatzlΣnge aus Eingabedatei gelesen."
  113.       this["GENIOERROR"]        =     "Allgemeiner E/A-Fehler beim Lesen der Datei."
  114.       this["NOPRINTDC"]            =     "Kein GerΣtekontext fⁿr Drucker."
  115.       this["NOPRINTMAPMODE"]        =     "Druckmodus konnte nicht zugewiesen werden."
  116.       this["NOFONTGDI"]            =     "Schrift konnte nicht erstellt werden. ▄berprⁿfen Sie die GDI-Ressourcen."
  117.       this["NOFONTDATAGDI"]        =     "Daten ⁿber die Schrift sind nicht verfⁿgbar. ▄berprⁿfen Sie die GDI-Ressourcen."
  118.       this["FIELDCTMISMATCH"]        =     "Unterschiedliche Feldanzahl. Korrupte .RPT-Datei." 
  119.       this["FORMULACTMISMATCH"]        =    "Unterschiedliche Formelanzahl. Korrupte .RPT-Datei." 
  120.       this["TEXTCTMISMATCH"]        =     "Unterschiedliche Textanzahl. Korrupte .RPT-Datei." 
  121.       this["NOQUERYFILE"]        =     "Im Ordner des Reports existiert die Abfragedatei nicht."
  122.       this["BKCOLORNOTSUPPORTED"]    =     "Hintergrundfarben fⁿr Text-Klassen werden in "+;
  123.                                            "Reports nicht unterstⁿtzt."
  124.       this["PENTYPENOTSUPPORTED"]    =     "Unbekannter oder nicht unterstⁿtzter Pinseltyp fⁿr "+;
  125.                                            "Linie oder Zeichenobjekt."
  126.       this["AGPOPVAR"]               =     "Nicht unterstⁿtzte Aggregatfunktion: Varianz"
  127.       this["AGPOPDEV"]               =     "Nicht unterstⁿtzte Aggregatfunktion: Standardabweichung"
  128.       this["AGDISCNT"]               =     "Nicht unterstⁿtzte Aggregatfunktion: Eindeutige Anzahl"
  129.       this["AGUNKNOWN"]              =     "Unbekannte Aggregatfunktion"
  130.       this["SFRECNO"]                =     "Nicht unterstⁿtztes Spezialfeld: Datensatznummer"
  131.       this["SFGRPNUM"]               =     "Nicht unterstⁿtztes Spezialfeld: Gruppennummer"
  132.       this["SFUNKNOWN"]              =     "Unbekanntes Spezialfeld"
  133.       this["NOIMAGEFILE"]            =     "Grafikdatei konnte nicht gefunden werden."
  134.       this["LABELTYPE"]              =     "Etikettentyp"
  135.       this["LABELSTYLE"]             =     "Etikettenart"
  136.       this["WIZARDNAME"]             =     "Reportumwandlungs-Experte"
  137.       this["NOFILECREATE"]           =     "Ausgabedatei fⁿr Report konnte nicht erstellt werden"
  138.       this["FILENAME"]            =    "Dateiname"
  139.       this["CREATEDBY"]                =     "Erstellt von"
  140.       this["CREATEDFROM"]        =     "Erstellt aus"
  141.       this["CREATEDON"]              =    "Erstellt ⁿber"
  142.       this["CREATEDAT"]              =    "am"
  143.       this["COMMENTSFROM"]           =    "Kommentare von"
  144.       this["EXCEPTIONLOG"]           =    "Protokoll der Exceptions"
  145.       this["NOREMOVELINE"]           =    "Diese Zeile nicht entfernen"
  146.       this["CONVERTEDON"]            =    "Konvertiert aus"
  147.       this["TABLERELATIONS"]         =     "Der Report enthΣlt verknⁿpfte Tabellen. Die SQL-Anweisung sollte geΣndert werden."
  148.       this["HASFORMULAS"]            =    "Der Report enthΣlt eine Formel, die angepa▀t werden sollte."
  149.       this["HASOLEITEM"]             =    "Der Report enthΣlt OLE-Objekte. L÷schen Sie das OLE-Objekt und starten Sie die Konvertierung neu."
  150.       this["HASGROUPFORMULA"]        =    "Formeln werden in Reportgruppen nicht unterstⁿtzt"
  151.       this["RECSELCRIT"]        =    "Die Auswahlkriterien fⁿr DatensΣtze wurden nicht ⁿbernommen"
  152.       this["DATAFILE"]            =    "Datendatei"
  153.  
  154.  
  155.    elseif this.cLanguage = 'Spanish'
  156.  
  157.       // Step one: set opening control text values
  158.  
  159.       this.oForm.IntroText.text     =     "<p>Este Experto convierte informes y etiquetas"+;
  160.                                            " Crystal 3.0 (.rpt,.rpl) en clases de informes "+;
  161.                                            "de Visual dBASE (.rep, .lab).</p>"
  162.       this.oForm.NextButton.text     =    "Siguiente"
  163.       this.oForm.BackButton.text     =     "Atrßs"
  164.       this.oForm.HelpButton.text     =     "Ayuda"
  165.       this.oForm.CancelButton.text        =     "Cancelar"
  166.       this.oForm.EnterPathText.text    =    "Introduzca la vφa de acceso del archivo Crystal que desea convertir"
  167.       this.oForm.TargetPathLabel.text  =   "Introduzca la vφa de acceso del informe Visual dBASE resultante"
  168.       this.oForm.DisclaimerText.text    =    "Algunos comandos y funciones de consultas QBE de Visual dBASE "+;
  169.                                               "no se convierten directamente en clases de datos de Visual dBASE 7. "+;
  170.                                        "Si el Experto encontrara problemas de esta φndole, "+;
  171.                                        "presentarß una lista en la ·ltima pßgina. Esta misma lista "+;
  172.                                        "se incluirß encima de la cabecera del archivo .rep o .lab"+;
  173.                                        " que se genere. Puede resultar necesario alguna modificaci≤n para "+;
  174.                                        " que el archivo generado coincida con la consulta original."
  175.       this.oForm.SourceFileText.text = "Archivo origen Crystal de informe o etiquetas"
  176.       this.oForm.TargetFileText.text = "Archivo destino Visual dBASE 7 de informes o etiquetas"
  177.       this.oForm.ReportRadio.text    =    "Informe"
  178.       this.oForm.LabelRadio.text    =     "Etiquetas"
  179.       this.oForm.SelectTypeText.text=    "Seleccione el tipo" 
  180.       this.oForm.ProblemText.text    =    "El Experto de conversi≤n de informes ha encontrado los siguientes "+;
  181.                                                   "problemas durante la conversi≤n del archivo original:"
  182.       this.oForm.SourceFileDisplayText.text = "Archivo origen Crystal de informe o etiquetas:"
  183.       this.oForm.TargetFileDisplayText.text = "Archivo destino Visual dBASE 7 de informes o etiquetas:"
  184.       this.oForm.FinishText.text    =    "<p>Pulse Finalizar para iniciar la conversi≤n del archivo Crystal...</p>"
  185.       this.oForm.ProgressLabel.text =    "Avance"
  186.  
  187.          //Step two: Initialize this array for dynamic text
  188.  
  189.       this["PROGRESS"]                = "Avance"
  190.       this["READINGINCRYSTAL"]       = "Leyendo archivo Crystal..."
  191.       this["STREAMINGVDB"]            = "Extrayendo objetos Report de dBASE"
  192.       this["DONE"]                    = "Concluido"
  193.       this["FILEALREADYEXISTS"]        = '"El archivo "+cVar+" ya existe. ┐Desea reemplazarlo?"'
  194.       this["OVERWRITE"]                = "┐Sobreescribir?"
  195.       this["WRONGFILETYPE"]            = "Tipo err≤neo de archivo"
  196.       this["NOTDBASELABEL"]            = "No es un archivo .lab de Visual dBASE"
  197.       this["FILENOTFOUND"]            = "No se encuentra el archivo"
  198.       this["FILEMISSING"]            = "Falta archivo"
  199.       this["NOTACRYSTALREPORT"]        = "No es un archivo .rpt de Crystal"
  200.       this["NOTACRYSTALLABEL"]         = "No es un archivo .rpl de Crystal"                      
  201.       this["PAGE1TITLE"]            = "Experto de conversi≤n de informes - Paso 1 de 4"
  202.       this["PAGE2TITLE"]            = "Experto de conversi≤n de informes - Paso 2 de 4"
  203.       this["PAGE3TITLE"]            = "Experto de conversi≤n de informes - Paso 3 de 4"
  204.       this["PAGE4TITLE"]            = "Experto de conversi≤n de informes - Paso 4 de 4"
  205.       this["NEXT"]                    = "Siguiente"
  206.       this["FINISH"]                    = "Finalizar"
  207.       this["CLOSE"]                    = "Cerrar"
  208.       this["INVALIDINPUT"]            = "Formato de archivo no vßlido"
  209.       this["UNSUPPORTEDVERSION"]    = "Versi≤n de archivo de informe no aceptada"
  210.       this["ORDAMAGEDFILE"]        = "Formato de archivo no vßlido o archivo da±ado."
  211.       this["BADRECORDLENGTH"]        = "Longitud de registro incorrecta en archivo de entrada."
  212.       this["GENIOERROR"]            = "Error general de E/S leyendo el archivo."
  213.       this["NOPRINTDC"]                = "No se obtuvo contexto para dispositivo de impresi≤n."
  214.       this["NOPRINTMAPMODE"]        = "Imposible configurar modo de mapeo de impresora."
  215.       this["NOFONTGDI"]                = "Imposible crear fuente. Verifique los recursos GDI."
  216.       this["NOFONTDATAGDI"]        = "Imposible obtener datos de la fuente. Verifique los recursos GDI."
  217.       this["FIELDCTMISMATCH"]        = "No coincide el n·mero de campos. Archivo .RPT da±ado." 
  218.       this["FORMULACTMISMATCH"]    = "No coincide el n·mero de f≤rmulas. Archivo .RPT da±ado."  
  219.       this["TEXTCTMISMATCH"]        = "No coicide el n·mero de campos de texto. Archivo .RPT da±ado."
  220.       this["NOQUERYFILE"]            = "El archivo de consulta no se encuentra en el directorio de informes."
  221.       this["BKCOLORNOTSUPPORTED"]= "Los informes no admiten colores de fondo para "+;
  222.                                    "la clase Text."
  223.       this["PENTYPENOTSUPPORTED"]= "Tipo de pluma para lφnea o forma "+;
  224.                                    "desconocido o no admitido."
  225.       this["AGPOPVAR"]           = "Funci≤n de totalizaci≤n no admitida: Population Variance"
  226.       this["AGPOPDEV"]           = "Funci≤n de totalizaci≤n no admitida: Population Std Deviation"
  227.       this["AGDISCNT"]           = "Funci≤n de totalizaci≤n no admitida: Distinct Count"
  228.       this["AGUNKNOWN"]          = "Funci≤n de totalizaci≤n desconocida"
  229.       this["SFRECNO"]            = "Campo especial no admitido: Record Number"
  230.       this["SFGRPNUM"]           = "Campo especial no admitido: Group Number"
  231.       this["SFUNKNOWN"]          = "Campo especial desconocido"
  232.       this["NOIMAGEFILE"]        = "Imposible encontrar archivo de imagen."
  233.       this["LABELTYPE"]          = "Tipo de etiqueta"
  234.       this["LABELSTYLE"]         = "Estilo de etiqueta"
  235.       this["WIZARDNAME"]         = "Experto de conversi≤n de informes"
  236.       this["NOFILECREATE"]       = "Imposible crear archivo de informe"
  237.         this["FILENAME"]         = "Nombre de archivo"
  238.       this["CREATEDBY"]          = "Creado por"
  239.       this["CREATEDFROM"]        = "Creado con"
  240.       this["CREATEDON"]          = "Creado el"
  241.       this["CREATEDAT"]          = "en"
  242.       this["COMMENTSFROM"]       = "Comentarios de"
  243.       this["EXCEPTIONLOG"]       = "Registro de excepciones de la conversi≤n"
  244.       this["NOREMOVELINE"]       = "no eliminar esta lφnea"
  245.       this["CONVERTEDON"]        = "Convertido el"
  246.       this["TABLERELATIONS"]     = "El informe contiene tablas relacionadas. Puede ser necesario retocar el SQL."
  247.       this["HASFORMULAS"]        = "El informe contiene una f≤rmula que puede necesitar alguna modificaci≤n."
  248.       this["HASOLEITEM"]         = "El informe contiene elementos OLE. B≤rrelos y reintente la conversi≤n."
  249.  
  250.  
  251.    elseif this.cLanguage = 'Italian'
  252.  
  253.       // Step one: set opening control text values
  254.  
  255.       this.oForm.IntroText.text        =     "<p>Questo Wizard serve per convertire report ed "+;
  256.                                            "etichette create in Crystal 3.0 (.rpt,.rpl) in classi "+;
  257.                                            "Report di Visual dBASE 7 (.rep, .lab).</p>"
  258.       this.oForm.NextButton.text     =    "Avanti"
  259.       this.oForm.BackButton.text     =     "Indietro"
  260.       this.oForm.HelpButton.text     =     "?"
  261.       this.oForm.CancelButton.text    =     "Annulla"
  262.       this.oForm.EnterPathText.text        =    "Immettere il percorso del file sorgente di Crystal da convertire"
  263.       this.oForm.TargetPathLabel.text   =   "Immettere il percorso del report di Visual dBASE 7 da generare"
  264.       this.oForm.DisclaimerText.text    =    "Alcuni comandi e funzioni supportate nelle query QBE di "+;
  265.                                               "Visual dBASE non possono essere tradotte direttamente in "+;
  266.                                               "classi Data di Visual dBASE 7. Nel caso il Wizard riscontri "+;
  267.                                               "tali problemi, ne presenterα un elenco nell'ultima pagina. Lo "+;
  268.                                               "stesso elenco verrα incluso subito prima dell'header del file "+;
  269.                                               ".rep o .lab generato. Potrebbe essere necessario modificare il "+;
  270.                                               "file generato in modo che corrisponda alla QBE originale."
  271.       this.oForm.SourceFileText.text     =    "File etichetta o report di Crystal"
  272.       this.oForm.TargetFileText.text     =    "File etichetta o report di Visual dBASE 7"
  273.       this.oForm.ReportRadio.text    =    "Report"
  274.       this.oForm.LabelRadio.text    =     "Etichetta"
  275.       this.oForm.SelectTypeText.text    =    "Selezionare il tipo"
  276.       this.oForm.ProblemText.text    =    "Il Wizard Conversione report ha riscontrato il seguente "+;
  277.                                     "problema durante la conversione del report o dell'etichetta:"+;
  278.       this.oForm.SourceFileDisplayText.text =     "File etichetta o report di Crystal:"
  279.       this.oForm.TargetFileDisplayText.text =     "File etichetta o report di Visual dBASE 7:"
  280.       this.oForm.FinishText.text    =    "<p>Fare clic su Termina per convertire il file di Crystal...</p>"
  281.       this.oForm.ProgressLabel.text     =    "Stato di avanzamento"
  282.  
  283.          //Step two: Initialize this array for dynamic text
  284.  
  285.       this["PROGRESS"]               =     "Stato di avanzamento"
  286.       this["READINGINCRYSTAL"]       =     "Lettura del file Crystal in corso..."
  287.       this["STREAMINGVDB"]           =     "Produzione degli oggetti Report di dBASE"
  288.       this["DONE"]                   =     "Fine"
  289.       this["FILEALREADYEXISTS"]      =     '"Il file "+cVar+" esiste giα. Sostituire il file esistente?"'
  290.       this["OVERWRITE"]              =     "Sovrascrivere?"
  291.       this["WRONGFILETYPE"]          =    "Tipo di file errato!"
  292.       this["NOTDBASELABEL"]          =    "Non Φ un file .lab di Visual dBASE!"
  293.       this["FILENOTFOUND"]           =    "File non trovato!"
  294.       this["FILEMISSING"]            =    "File mancante!"
  295.       this["NOTACRYSTALREPORT"]      =    "Non Φ un file .rpt di Crystal!"
  296.       this["NOTACRYSTALLABEL"]       =    "Non Φ un file .rpl di Crystal!"                      
  297.       this["PAGE1TITLE"]             =    "Wizard Conversione Report - Passo 1 di 4"
  298.       this["PAGE2TITLE"]             =    "Wizard Conversione Report - Passo 2 di 4"
  299.       this["PAGE3TITLE"]             =    "Wizard Conversione Report - Passo 3 di 4"
  300.       this["PAGE4TITLE"]             =    "Wizard Conversione Report - Passo 4 di 4"
  301.       this["NEXT"]                   =    "Avanti"
  302.       this["FINISH"]                 =    "Termina"
  303.       this["CLOSE"]                  =    "Chiudi"
  304.       this["INVALIDINPUT"]           =    "Formato del file di origine non valido"
  305.       this["UNSUPPORTEDVERSION"]     =    "Versione di file report non supportata"
  306.       this["ORDAMAGEDFILE"]          =    "Formato del file di origine non valido o file danneggiato."
  307.       this["BADRECORDLENGTH"]        =    "Lettura dal sorgente di una lunghezza record non corretta."
  308.       this["GENIOERROR"]             =    "Errore di I/O generale durante la lettura del file."
  309.       this["NOPRINTDC"]              =    "Impossibile ottenere il contesto del dispositivo di stampa."
  310.       this["NOPRINTMAPMODE"]         =    "Impossibile impostare la modalitα mapping della stampante."
  311.       this["NOFONTGDI"]              =    "Impossibile creare il font. Controllare le risorse GDI."
  312.       this["NOFONTDATAGDI"]          =    "Impossibile ottenere i dati del font. Controllare le risorse GDI."
  313.       this["FIELDCTMISMATCH"]        =    "Mancata corrispondenza del contatore campi. File .RPT danneggiato." 
  314.       this["FORMULACTMISMATCH"]      =    "Mancata corrispondenza del contatore formule. File .RPT danneggiato."  
  315.       this["TEXTCTMISMATCH"]         =    "Mancata corrispondenza del contatore testo. File .RPT danneggiato."
  316.       this["NOQUERYFILE"]            =    "Il file query non esiste nella directory del report."
  317.       this["BKCOLORNOTSUPPORTED"]    =    "I colori di sfondo delle classi Text non sono supportati "+;
  318.                                            "nei report."
  319.       this["PENTYPENOTSUPPORTED"]    =    "Tipo di penna sconosciuto o non supportato per la "+;
  320.                                            "linea o per il simbolo."
  321.       this["AGPOPVAR"]               =    "Funzione di aggregazione non supportata: Varianza della popolazione"
  322.       this["AGPOPDEV"]               =    "Funzione di aggregazione non supportata: Deviazione std della popolazione"
  323.       this["AGDISCNT"]               =    "Funzione di aggregazione non supportata: Conteggio distinct"
  324.       this["AGUNKNOWN"]              =    "Funzione di aggregazione sconosciuta"
  325.       this["SFRECNO"]                =    "Campo speciale non supportato: Numero di record"
  326.       this["SFGRPNUM"]               =    "Campo speciale non supportato: Numero di gruppo"
  327.       this["SFUNKNOWN"]              =    "Campo speciale sconosciuto"
  328.       this["NOIMAGEFILE"]            =    "Impossibile trovare il file immagine."
  329.       this["LABELTYPE"]              =    "Tipo di etichetta"
  330.       this["LABELSTYLE"]             =    "Stile dell'etichetta"
  331.       this["WIZARDNAME"]             =    "Wizard Conversione report"
  332.       this["NOFILECREATE"]           =    "Impossibile creare il file di report di destinazione"
  333.       this["FILENAME"]               =    "Nome file"
  334.       this["CREATEDBY"]              =    "Creato da"
  335.       this["CREATEDFROM"]            =    "A partire da"
  336.       this["CREATEDON"]              =    "Creato il"
  337.       this["CREATEDAT"]              =    "Alle"
  338.       this["COMMENTSFROM"]           =    "Commenti di"
  339.       this["EXCEPTIONLOG"]           =    "Registro delle eccezioni in conversione"
  340.       this["NOREMOVELINE"]           =    "non eliminare questa linea"
  341.       this["CONVERTEDON"]            =    "Convertito il"
  342.       this["TABLERELATIONS"]         =    "Il report contiene tabelle correlate. Potrebbe essere necessario modificare l'SQL."
  343.       this["HASFORMULAS"]            =    "Il report contiene una formula che potrebbe richiedere modifiche."
  344.       this["HASOLEITEM"]             =    "Il report contiene elementi OLE. Eliminare gli elementi OLE e riprovare la conversione."
  345.       this["HASGROUPFORMULA"]        =    "Le formule non sono supportate nei gruppi del report."
  346.       this["RECSELCRIT"]        =    "Criteri di selezione record non applicati."
  347.       this["DATAFILE"]            =    "File dati"
  348.  
  349.  
  350. //   elseif // Language = s
  351.  
  352.    
  353.    else// US English for all others
  354.  
  355.        // NOTE: the code in this case is for test purposes only. 
  356.        // It Should be remarked out for production as controls are already
  357.        // initialized to these text values
  358.  
  359.  
  360.                // Step one: set opening control text values
  361.  
  362.       this.oForm.IntroText.text        =     "<p>This Wizard will convert reports and labels "+;
  363.                                            "written in Crystal 3.0 (.rpt,.rpl) to Visual dBASE 7 "+;
  364.                                            "Report Classes (.rep, .lab).</p>"
  365.       this.oForm.NextButton.text     =    "Next"
  366.       this.oForm.BackButton.text     =     "Back"
  367.       this.oForm.HelpButton.text     =     "Help"
  368.       this.oForm.CancelButton.text    =     "Cancel"
  369.       this.oForm.EnterPathText.text    =    "Enter the path to the Crystal source file to be converted"
  370.       this.oForm.TargetPathLabel.text = "Enter the path to the target Visual dBASE 7 report" 
  371.       this.oForm.DisclaimerText.text    =    "Some commands and functions supported in Visual dBASE "+;
  372.                         "QBE queries do not translate directly into Visual dBASE 7 "+;
  373.                         "Data Classes. If this Wizard encounters any such problems, "+;
  374.                         "it will present a list on the last page. The same list will "+;
  375.                         "be embedded above the header in the generated .rep or "+;
  376.                         ".lab file. You may have to adjust the generated file to "+;
  377.                         "match your original QBE."
  378.       this.oForm.SourceFileText.text     =    "Source Crystal Report or Label File"
  379.       this.oForm.TargetFileText.text     =    "Target Visual dBASE 7 Report or Label File"
  380.       this.oForm.ReportRadio.text    =    "Report"
  381.       this.oForm.LabelRadio.text    =     "Label"
  382.       this.oForm.SelectTypeText.text    =    "Select type" 
  383.       this.oForm.ProblemText.text    =    "The Report Conversion Wizard encountered the following "+;
  384.                                                   "problems converting your report or label:"
  385.       this.oForm.SourceFileDisplayText.text =     "Source Crystal Report or Label File:"
  386.       this.oForm.TargetFileDisplayText.text =     "Target Visual dBASE 7 Report or Label File:"
  387.       this.oForm.FinishText.text    =    "<p>Click Finish to convert your Crystal file...</p>"
  388.       this.oForm.ProgressLabel.text     =    "Progress"
  389.  
  390.       //Step two: Initialize this array for dynamic text
  391.  
  392.       this["PROGRESS"]             =     "Progress"
  393.       this["READINGINCRYSTAL"]        =     "Reading in Crystal file..."
  394.       this["STREAMINGVDB"]        =     "Streaming Out dBASE Report Objects"
  395.       this["DONE"]            =     "Done"
  396.       this["FILEALREADYEXISTS"]        =     '"File "+cVar+" already exists. Replace existing file?"'
  397.       this["OVERWRITE"]            =     "Overwrite?"
  398.       this["WRONGFILETYPE"]        =     "Wrong File Type!"
  399.       this["NOTDBASELABEL"]        =     "Not a Visual dBASE .lab file!"
  400.       this["FILENOTFOUND"]        =     "File not found!"
  401.       this["FILEMISSING"]        =     "File Missing!"
  402.       this["NOTACRYSTALREPORT"]        =    "Not a Crystal .rpt file!"
  403.       this["NOTACRYSTALLABEL"]        =    "Not a Crystal .rpl file!"                      
  404.       this["PAGE1TITLE"]        =    "Report Conversion Wizard - Step 1 of 4"
  405.       this["PAGE2TITLE"]        =    "Report Conversion Wizard - Step 2 of 4"
  406.       this["PAGE3TITLE"]        =    "Report Conversion Wizard - Step 3 of 4"
  407.       this["PAGE4TITLE"]        =    "Report Conversion Wizard - Step 4 of 4"
  408.       this["NEXT"]            =    "Next"
  409.       this["FINISH"]            =    "Finish"
  410.       this["CLOSE"]            =    "Close"
  411.       this["INVALIDINPUT"]        =    "Invalid input file format"
  412.       this["UNSUPPORTEDVERSION"]    =    "Unsupported report file version"
  413.       this["ORDAMAGEDFILE"]        =    "Invalid input file format or damaged file."
  414.       this["BADRECORDLENGTH"]        =    "Incorrect record length read from input file."
  415.       this["GENIOERROR"]        =    "General I/O error while reading file."
  416.       this["NOPRINTDC"]            =    "Unable to obtain printer device context."
  417.       this["NOPRINTMAPMODE"]        =    "Unable to set printer mapping mode."
  418.       this["NOFONTGDI"]            =    "Unable to create font. Check GDI resources."
  419.       this["NOFONTDATAGDI"]        =    "Unable to get font data. Check GDI resources."
  420.       this["FIELDCTMISMATCH"]        =    "Field count mismatch. Corrupt .RPT file." 
  421.       this["FORMULACTMISMATCH"]        =    "Formula count mismatch. Corrupt .RPT file."  
  422.       this["TEXTCTMISMATCH"]        =    "Text count mismatch. Corrupt .RPT file."
  423.       this["NOQUERYFILE"]        =    "Query file does not exist in report directory."
  424.       this["BKCOLORNOTSUPPORTED"]    =    "Background colors for Text class are not "+;
  425.                                            "Supported in reports."
  426.       this["PENTYPENOTSUPPORTED"]    =    "Unknown or unsupported pen type specified for "+;
  427.                                            "line or shape."
  428.       this["AGPOPVAR"]               =    "Unsupported aggregate function: Population Variance"
  429.       this["AGPOPDEV"]               =    "Unsupported aggregate function: Population Std Deviation"
  430.       this["AGDISCNT"]               =    "Unsupported aggregate function: Distinct Count"
  431.       this["AGUNKNOWN"]              =    "Unknown aggregate function"
  432.       this["SFRECNO"]                =    "Unsupported special field: Record Number"
  433.       this["SFGRPNUM"]               =    "Unsupported special field: Group Number"
  434.       this["SFUNKNOWN"]              =    "Unknown special field"
  435.       this["NOIMAGEFILE"]            =    "Could not locate image file."
  436.       this["LABELTYPE"]              =    "Label Type"
  437.       this["LABELSTYLE"]             =    "Label Style"
  438.       this["WIZARDNAME"]            =    "Report Conversion Wizard"
  439.       this["NOFILECREATE"]           =    "Could not create report output file"
  440.       this["FILENAME"]            =    "Filename"
  441.       this["CREATEDBY"]              =    "Created By"
  442.       this["CREATEDFROM"]            =    "Created From"
  443.       this["CREATEDON"]              =    "Created On"
  444.       this["CREATEDAT"]              =    "At"
  445.       this["COMMENTSFROM"]           =    "Comments From"
  446.       this["EXCEPTIONLOG"]           =    "Conversion Exception Log"
  447.       this["NOREMOVELINE"]           =    "do not remove this line"
  448.       this["CONVERTEDON"]            =    "Converted on"
  449.       this["TABLERELATIONS"]         =    "Report contains related tables. SQL may need adjustment."
  450.       this["HASFORMULAS"]            =    "Report contains a formula which may need adjustment."
  451.       this["HASOLEITEM"]             =    "Report contains OLE item. Delete OLE item and retry conversion."
  452.       this["HASGROUPFORMULA"]        =    "Formulas not supported in report groups."
  453.       this["RECSELCRIT"]             =    "Record selection criteria not applied."
  454.       this["DATAFILE"]               =    "Data File"
  455.  
  456.    endif
  457.  
  458.  
  459.  
  460.    Return True
  461.  
  462.  
  463. //////////////////////////Method iText (International Text)///////////////////
  464. /* Method that returns strings in appropriate language translations
  465.     Purpose: Used for translating dynamic strings
  466.    Params:    cKey - a text key that identifies appropriate string
  467.                cVar - a char var that can be passed and used in the
  468.                      returned string. Ex:' File '+cVar+' is missing'
  469. */
  470.  
  471. Function iText
  472.    Param cKey,cVar  //private declarations for use in ¯o
  473.  
  474.    cKey = upper(cKey)
  475.  
  476.    Private cStr
  477.    cStr = ''
  478.  
  479.    try
  480.  
  481.      cStr = this[cKey]
  482.      cStr = &cStr
  483.  
  484.    catch(Exception e)
  485.  
  486.    endtry  
  487.  
  488.    return cStr
  489.  
  490.  
  491. //////////////////////////Method SetLanguage//////////////////////////////
  492. /*Protected method that determines what language version of Visual dBASE 7
  493.   is installed when Wizard is run
  494. */
  495.  
  496. Function SetLanguage()
  497.    Local cLanguage
  498.  
  499.    if file(home()+'VDB70011.DLL')
  500.       cLanguage =  'Japanese'
  501.  
  502.    elseif file(home()+'VDB70007.DLL')
  503.       cLanguage =  'German'
  504.  
  505.    elseif file(home()+'VDB7000A.DLL')
  506.       cLanguage =  'Spanish'
  507.  
  508.    elseif file(home()+'VDB70010.DLL')
  509.       cLanguage =  'Italian'
  510.  
  511.    elseif file(home()+'VDB7XXXX.DLL')
  512.       cLanguage =  'French'
  513.  
  514.    else
  515.       cLanguage = 'US English'
  516.  
  517.    endif
  518.  
  519. Return cLanguage
  520.  
  521. endclass  // End of Class
  522.